perm filename TBOX.OLD[CMS,LCS]1 blob
sn#428434 filedate 1979-05-02 generic text, type T, neo UTF8
00100 COMMENT ⊗ VALID 00013 PAGES
00200 C REC PAGE DESCRIPTION
00300 C00001 00001
00400 C00002 00002 TITLE TBOX
00500 C00004 00003 Reset and interrupt vectors.
00600 C00006 00004 INPUT WAIT. Check upflg time?
00700 C00008 00005 CALL CLED Clear cal. and mode leds.
00800 C00010 00006 CKJSC: MOVRI K,JSC
00900 C00012 00007 NOP ↔ NOP ↔ NOP For page boundry.
01000 C00014 00008 WLED: OUTB Latch A on bus.
01100 C00016 00009 WJLED: MOVAR N Save JS led bits.
01200 C00017 00010 Bit spreading table
01300 C00019 00011 GETJSW: MOVRI K,JW1
01400 C00021 00012 Alfa led message table.
01500 C00024 00013 ("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
01600 C00027 ENDMK
01700 C⊗;
00100 TITLE TBOX
00200 .INSERT MAC748.FAI[CMS,LCS]
00300
00400 ;Ram bank 0 registers.
00500 K ← 0
00600 I ← 1
00700 N ← 2
00800 T ← 3 ;Timer overflow count.
00900 CMD ← 4 ;TBOX and JS led bits.
01000 CMD1 ← 5 ;Alfa led message index.
01100 OFFL ← 6 ;Alfa off timer low.
01200 OFFH ← 7 ;High.
01300
01400 ;Ram10-27 = Stack.
01500 ;Ram bank 1 registers.
01600 P ← 30 ;Pots pointer.
01700 O ← 31 ;Offset pointer.
01800 X ← 32
01900 Y ← 33
02000 Z ← 34
02100 SW0 ← 35 ;TBOX switch bits.
02200 SW1 ← 36
02300 SW2 ← 37
02400
02500 ;Standard ram.
02600 SPD ← 40 ;Speed pot.
02700 P0 ← 41 ;Joy stick pots.
02800 P1 ← 42
02900 P2 ← 43
03000 P3 ← 44
03100 JW0 ← 45 ;T. Joy stick switch channels.
03200 JW1 ← 46 ;P/O.
03300 JW2 ← 47 ;TOOL.
03400 JW3 ← 50 ;T/JS/C.
03500
03600 OSPD ← 51 ;Old speed pot.
03700 OP0 ← 52 ;Joy stick offsets.
03800 OP1 ← 53
03900 OP2 ← 54
04000 OP3 ← 55
04100 OJSW ← 56 ;Old joy stick switch bits.
04200 OCMD ← 57 ;Old led bits.
04300 OCMD1 ← 60 ;Old alfa led index.
04400
04500 JSC ← 61 ;Joy stick not calib. flag.
04600
04700 XTAL ← =6000000 ;In hertz.
04800 BRATE ← =9600 ;Baud rate
04900
05000 ;TBIT ← ((=10000000/BRATE)/((=10000000/XTAL)*=15))/2
05100 TBIT ← =21
05200
05300 TT ← 1 ;Triple throw switch port.
05400 S ← 2 ;Scan and A/D port.
05500 PBL ← 4 ;Push button port low.
05600 PBH ← 5 ;Push button port high.
05700 CEW ← 6 ;Alfa led chip enables and write port.
05800 JS ← 7 ;Joy stick, CU, and led latch port.
00100 ;Reset and interrupt vectors.
00200 JMP RST ;RESET VECTOR
00300 0
00400 DISXI ;EXTERNAL INTERRUPT VECTOR
00500 NOP
00600 NOP
00700 NOP
00800 DISTI ;TIMER INT VECTOR
00900 RETR
01000
01100 ;Power on reset.
01200 RST: CLRA ;0 For clear cursor memory.
01300 OUTB ;Latch bus output.
01400 MOVI 377 ;SETUP INPUT PORTS
01500 OUTP TT ;SPTT switches.
01600 MOVI 77 ;P4-7, SCAN, STRT, ALE.
01700 OUTP S
01800 ;Setup PBSW ports for input.
01900 MOVAX PBL ;PBSW low.
02000 MOVAX PBH ;PBSW high.
02100
02200 ;Clear cursor memory.
02300 MOVI 170 ;7,,10.
02400 MOVAX CEW ;Enable all alfa leds.
02500 SWAP ;A ← 207.
02600 MOVAX JS ;Clear JS and CU.
02700 ;Write all alfa leds.
02800 ANPA CEW ;NOT W
02900 CPLA
03000 ORPA CEW ;W
03100
03200 SWAP ;A ← 10,,7.
03300 ORPA CEW ;Disable all alfa leds.
03400 SWAP ;A0-3 ← 10.
03500 ORPA JS ;NOT CU.
03600
03700 CALL CLED ;Clear leds.
03800 CALL CALED ;Clear alfa leds.
03900 JINT CLRJSL ;Check if joy stick.
04000 JMP STIMER
04100 CLRJSL: MOVRI N,4 ;Joy stick not cal. bit.
04200 CALL CJLED ;Init joy stick leds.
04300 STIMER: MOVAT ;Setup timer.
04400 STRTT
04500
04600 CPLF1 ;Set alfa leds off.
04700 MOVRI K,JSC
04800 MOVMI K,4 ;Set joy stick not calib.
04900
05000 JMP SETFLG
05100
05200 ; Set scan flag and timer
05300 UPFLG: DJNZ T,CKIN
05400 SETFLG: MOVRI T,4 ;4 = 82 ms.
05500 CLRF0 ;Set scan flag
05600
05700 JF1S CKIN ;Check if alfa off.
05800 DJNZ OFFL,CKIN ;OFFW ← OFFW - 1.
05900 DJNZ OFFH,CKIN
06000 CPLF1 ;Set alfa led off flag.
00100 ;INPUT WAIT. Check upflg time?
00200 OFFSET ← TBIT/3 ;Center delay?
00300 INWAI: JTF UPFLG ;Check if timer time out.
00400
00500 CKIN: JT0H INWAI ;Check for start bit.
00600
00700 MOVRI K,OFFSET-4 ;Center - Itime.
00800 CENTER: DJNZ K,CENTER ;Wait for center of bit
00900 JT0H INWAI ;Check if valid start bit
01000
01100 ; Byte input routine
01200 MOVRI N,11 ;# of bits -1
01300
01400 ILOOP: MOVRI K,TBIT-5;tBIT - tI
01500 WAI: DJNZ K,WAI
01600 CLRC
01700 JT0H BITON
01800 RORC
01900 JMP BITOFF
02000 BITON: CPLC
02100 RORC
02200 NOP
02300
02400 BITOFF: DJNZ N,ILOOP
02500
02600 ROLC ;Shift out stop bit
02700 JCC INWAI ;Check for good stop bit.
02800
02900 JBS 7,BYTE1 ;Check if first or second byte.
03000
03100 MOVAR CMD ;Save first input byte.
03200 JMP INWAI ;Get next byte.
03300
03400 BYTE1: MOVAR CMD1 ;Save second byte.
03500
03600 CLRA ;SPD default.
03700 JT1H ADZRO ;Speed off.
03800
03900 ;A/DCHAN ← SPEED.
04000 OUTB ;Latch zero on bus.
04100 ORPI S,200 ;ALE.
04200 ANPI S,177 ;NOT ALE.
04300
04400 CALL CONVRT ;Wait for speed.
04500
04600 JNZ ADZRO ;Check if on and zero.
04700 INCA ;A ← 1.
04800
04900 ADZRO: MOVRI K,SPD ;Save speed pot value.
05000 MOVAM K
00100 CALL CLED ;Clear cal. and mode leds.
00200 MOVRA CMD ;Get mode code.
00300 RORC ;Get cal. bit.
00400 ANI 7 ;Zero data input to LS259.
00500 CALL WLED ;Write mode led.
00600
00700 JCC CKJOY ;No calib. bit.
00800 CLRA ;Led 0.
00900 CALL WLED ;Write cal. led.
01000
01100 CKJOY: JINT GPOTS ;Check for joy stick.
01200 MOVRI K,JSC
01300 MOVMI K,4 ;JSC ← 1.
01400 JMP CKSCAN
01500
01600 GPOTS: MOVRA CMD ;Setup JS led bits.
01700 SWAP ;Get JS led bits.
01800 ANI 3 ;2 JS led bits.
01900 MOVRI K,JSC
02000 ORM K ;A ← A .OR. JSC.
02100 CALL WJLED ;Write JS led bits.
02200
02300 ;A/D convert routines.
02400 MOVI 1 ;Chanel 1.
02500 OUTB ;Latch bus output.
02600 ORPI S,200 ;ALE
02700 ANPI S,177 ;NOT ALE.
02800
02900 MOVI 375 ;NOT CLR bit.
03000 ANPA JS ;NOT CLR.
03100 CPLA
03200 ORPA JS ;CLR.
03300 MOVRI P,P0 ;JS pot index.
03400 MOVRI N,10 ;# of pots + switch channels.
03500
03600 ADLOOP: CALL CONVRT ;Wait for A/D.
03700 MOVAM P ;Ram(p) ← Pots&sws(p).
03800
03900 MOVI 376
04000 ANPA JS ;NOT CNT.
04100 CPLA
04200 ORPA JS ;CNT
04300
04400 INCR P ;Next pot.
04500 DJNZ N,ADLOOP ;Next channel.
04600
04700 ;Check for scan flag.
04800 CKSCAN: JF0S CKJSC ;Scan flag.
04900
05000 JMP SCAN ;Scan switches.
00100 CKJSC: MOVRI K,JSC
00200 MOVMA K ;A ← JSC.
00300 JBS 2,ZPOTS ;Check if JS not calib.
00400
00500 MOVRI P,P0 ;Pots pointer.
00600 MOVRI O,OP0 ;Offset pointer.
00700 MOVRI N,4 ;# of pots.
00800
00900 OFFSL: MOVMA P ;Get pot.
01000 CPLA
01100 ADDM O ;Subtract offset.
01200 CPLA
01300 MOVAM P ;Save pot.
01400
01500 INCR P
01600 INCR O
01700 DJNZ N,OFFSL
01800 JMP CKACT
01900
02000 ZPOTS: CLRA
02100 MOVRI P,P0
02200 MOVRI N,4 ;# of pots.
02300 ZPL: MOVAM P ;Ram(Pots) ← 0.
02400 INCR P
02500 DJNZ N,ZPL
02600
02700 ;Activity check.
02800 CKACT: MOVRI K,OCMD
02900 MOVMA K
03000 XORR CMD ;A ← CMD .XOR. OCMD.
03100 JNZ ACT
03200 MOVRI K,OCMD1 ;Old alfa index.
03300 MOVMA K
03400 XORR CMD1
03500 JNZ ACT
03600
03700 SRB1 ;Select ram bank 1.
03800 MOVRA SW0
03900 JNZ RACT
04000 MOVRA SW1
04100 JNZ RACT
04200 MOVRA SW2
04300 ANI 77 ;Mask out JS and P/O bits.
04400 JNZ RACT
04500
04600 MOVRI P,SPD ;Now pot index.
04700 MOVRI O,OSPD ;Old pot index.
04800 MOVMA P ;Check speed.
04900 XORM O
05000 JZ CKJP
05100
05200 RACT: SRB0 ;Select ram bank 0.
05300 ACT: JMP ACTIVE
00100 NOP ↔ NOP ↔ NOP ;For page boundry.
00200 CKJP: MOVRI N,4
00300 JSZCK: INCR P
00400 MOVMA P
00500 JNZ RACT ;Check if JS pots are zero.
00600 DJNZ N,JSZCK
00700
00800 SRB0 ;Select ram bank 0.
00900 CLRA ;Blank message index.
01000 JF1S ADPY ;Check if alfa off.
01100 JMP OBITS ;Not active.
01200
01300 RSTRAM: SRB0 ;Select ram bank 0.
01400 ACTIVE: MOVRA CMD ;OLD ← NEW.
01500 MOVRI K,OCMD
01600 MOVAM K ;OCMD.
01700 MOVRA CMD1
01800 INCR K
01900 MOVAM K ;OCMD1.
02000
02100 MOVRI P,SPD
02200 MOVRI O,OSPD
02300 MOVMA P ;A ← SPD.
02400 MOVAM O ;OSPD ← A.
02500
02600 CLRF1 ;Alfa led off flag ← 0.
02700 MOVRI OFFH,10 ;OFFW ← tOWAIT.
02800
02900 MOVRA CMD1 ;Update alfa leds.
03000 SWAP ;Shift etc.
03100 ANI 360 ;For 16 messages.
03200 ADPY: CALL OALFA ;Output message.
03300
03400 OBITS: MOVRI CMD1,0 ;Init check sum.
03500 MOVRI I,SW0 ;Point to out bytes.
03600 MOVRI CMD,10 ;# of output bytes.
03700
03800 OUTL: MOVMA I ;Get output byte.
03900 CALL OBYTE
04000 ADR CMD1 ;Add it to cksum.
04100 MOVAR CMD1
04200
04300 INCR I
04400 DJNZ CMD,OUTL
04500
04600 MOVRA CMD1
04700 CPLA
04800 INCA
04900 CALL OBYTE ;Output check sum.
05000
05100 JMP INWAI ;Loop back to input wait.
05200
05300 ; Output Acc. to SI/O line
05400 OBYTE: MOVRI K,11 ;# of bits -1
05500 CLRC
05600 ROLC ;Start bit
05700 OLOOP: OUTP TT ;Output bit
05800 RORC
05900 MOVRI N,TBIT-3 ;TBIT - Itime.
06000
06100 OWAIT: DJNZ N,OWAIT
06200 DJNZ K,OLOOP
06300
06400 ORPI TT,377 ;Stop bit.
06500 MOVRI N,TBIT-10 ;TBIT - Itime.
06600 SWAIT: DJNZ N,SWAIT
06700 RORC
06800 RET
00100 WLED: OUTB ;Latch A on bus.
00200 MOVI 7 ;NOT led E bit.
00300 ANPA JS ;NOT E.
00400 CPLA
00500 ORPA JS ;E.
00600
00700 RET
00800
00900 ;Clear leds
01000 CLED: MOVRI N,370
01100 MOVRA N ;Setup regs.
01200 CLRL: CALL WLED ;Clear led loop.
01300 INCR N ;Next led.
01400 MOVRA N
01500 JNZ CLRL
01600
01700 RET
01800
01900 ;Convert channel and wait.
02000 CONVRT: ORPI S,100 ;STRT.
02100 ANPI S,277 ;NOT STRT.
02200
02300 MOVI =22 ;=172 micro seconds?
02400 CONL: DECA ;Convert wait.
02500 JNZ CONL
02600 MOVXMA K ;Get A/D output.
02700 MOVXMA K ;Twice for bus unlatch.
02800 OUTB ;Latch bus for output.
02900 RET
03000
03100 ;Alfa led output routines.
03200 CALED: CLRA ;Blank string index.
03300
03400 OALFA: MOVAR I ;Save string index.
03500 MOVI 376 ;NOT CE0.
03600
03700 CENBL: MOVRI N,4 ;# of chrs in I.C.
03800 MOVAR K ;Save CE.
03900 MOVAX CEW ;NOT CE.
04000
04100 CHRL: MOVRA I
04200 MOVP3 ;A ← String(chr).
04300 OUTB ;Latch bus output.
04400
04500 MOVI 367
04600 ANPA CEW ;NOT W.
04700 CPLA
04800 ORPA CEW ;W
04900
05000 INCR I ;CHR ← CHR+1.
05100 DJNZ N,CHRL
05200
05300 MOVRA K
05400 ROL ;Next CE.
05500 JBS 3,CENBL
05600
05700 ORPA CEW ;CE.
05800
05900 RET
06000
00100 WJLED: MOVAR N ;Save JS led bits.
00200 CJLED: MOVI 355 ;NOT CNT,,CLR.
00300 ANPA JS ;NOT CLR.
00400 CPLA
00500 ORPA JS ;CLR.
00600 SWAP ;A ← 2,,1.
00700
00800 INCR N ;Fix for latch.
00900 JMP CKZRO
01000
01100 CJL: CPLA ;A ← 15,,16.
01200 ANPA JS ;NOT CNT.
01300 CPLA
01400 ORPA JS ;CNT
01500 CKZRO: DJNZ N,CJL
01600
01700 MOVI 373
01800 ANPA JS ;NOT LAT.
01900 CPLA
02000 ORPA JS ;LAT.
02100
02200 RET
00100 ; Bit spreading table
00200 LOC 1000 ;1000 = Start of page two.
00300 125 ↔ 124 ↔ 121 ↔ 120 ↔ 105 ↔ 104 ↔ 101 ↔ 100
00400 25 ↔ 24 ↔ 21 ↔ 20 ↔ 5 ↔ 4 ↔ 1 ↔ 0
00500 SBITS ← 60 ;Scan bits.
00600 ROW0 ← 357 ;Scan row 0.
00700 ROW1 ← 337 ;Scan row 1.
00800
00900 SCAN: SRB1 ;Select ram bank 1.
01000 CPLF0 ;Reset scan flag.
01100 ORPI S,SBITS ;Turn off rows
01200 ANPI S,ROW0 ;Enable row 0.
01300 INP TT ;Scan row 0
01400 MOVAR SW0 ;Save it
01500 ANI 17 ;Get low nibble
01600 MOVPD ;Get bits from spread table
01700 XCHR SW0
01800 SWAP ;Swap high low nibbles
01900 ANI 17 ;Get high nibble
02000 MOVPD
02100 MOVAR SW1
02200
02300 ORPI S,SBITS ;Turn off row 0.
02400 ANPI S,ROW1 ;Enable row 1.
02500 INP TT ;Scan row 1
02600 ORPI S,SBITS ;Disable scan.
02700 MOVAR SW2 ;Save row 1
02800 ANI 17 ;Low nibble
02900 MOVPD
03000 ROL ;Shift + bits
03100 ORR SW0 ;Or into - bits
03200 ANI 374 ;Clear teach and off bits.
03300 MOVAR SW0
03400 MOVRA SW2 ;Get row 1 again
03500 SWAP
03600 ANI 17
03700 MOVPD
03800 ROL
03900 ORR SW1
04000 MOVAR SW1
04100
04200 MOVXA PBL ;Get push buttons.
04300 MOVAR SW2 ;Save low nibble.
04400 MOVXA PBH
04500 SWAP ;High nibble.
04600 ORR SW2
04700
04800 CPLA
04900 MOVAR SW2
05000 ANI 77 ;Zero JS and P/O bits.
05100 XCHR SW2
05200 ROLC ;Shift & swap teach & off bits
05300 ROL
05400 ROLC
05500 ANI 3
05600 ORR SW0
05700 MOVAR SW0
05800
05900 JINT GETJSW ;Check if joy stick.
06000 SRB0 ;Select ram bank 0.
06100 JMP ZPOTS ;No joy stick.
00100 GETJSW: MOVRI K,JW1
00200 MOVMA K ;A ← P/O.
00300 ANI 100 ;Get P/O bit.
00400 ORR SW2
00500 MOVAR SW2 ;SW2 ← P/O .OR. PBSWs.
00600 MOVRI K,JW3
00700 MOVMA K ;Joy stick T/JS/C bits.
00800 ANI 300
00900 JZ SETOFF ;Calib. joy stick.
01000
01100 JBS 6,SETJT
01200 MOVI 100
01300 SETJT: XORI 300 ;Complement J/T bit.
01400 ORR SW2 ;OR into SW2.
01500 MOVAR SW2
01600
01700 JBS 7,GTOOL ;Check for JS mode.
01800 SRB0 ;Select ram bank 0.
01900 JMP CKJSC
02000
02100 GTOOL: MOVRI K,JW0 ;Check JS switch bits.
02200 MOVMA K ;Get JS teach switch.
02300 ROLC
02400 MOVRA SW0
02500 ROR
02600 ROLC ;Shift teach bit into SW0.
02700 MOVAR SW0
02800
02900 MOVRI K,JW2
03000 MOVMA K ;Get JS tool bits.
03100 ANI 300
03200 JNZ TPLUS ;Check for T-.
03300
03400 MOVI 100 ;T- bit.
03500 STOOL: XCHR SW1
03600 ANI 77 ;Zero TBOX tool bits.
03700 ORR SW1 ;SW1 ← SW1 .OR. JSTOOLBITS.
03800 MOVAR SW1
03900 SRB0 ;Select ram bank 0.
04000 JMP CKJSC
04100
04200 TPLUS: JBS 6,SETTP ;Check for no tool bits.
04300 CLRA
04400 SETTP: ANI 200
04500 JMP STOOL ;OR Tbits into SW1.
04600
04700 SETOFF: MOVRI P,P0 ;Pots pointer.
04800 MOVRI O,OP0 ;Offset pointer.
04900 MOVRI N,4 ;# of pots.
05000 SETL: MOVMA P ;A ← POT(P).
05100 MOVAM O ;OFFSET(O) ← A.
05200 INCR P
05300 INCR O
05400 DJNZ N,SETL
05500
05600 MOVRI K,JSC
05700 MOVMI K,0 ;JSC ← 0.
05800 MOVI 200
05900 ORR SW2 ;Set JS/T bit.
06000 MOVAR SW2
06100 JMP GTOOL
00100 ;Alfa led message table.
00200 LOC 1400 ;Start of page three.
00300
00400 (" "∧77)∨300 ↔ (" "∧77)∨200 ↔ (" "∧77)∨100
00500 " "∧77 ↔ (" "∧77)∨300 ↔ (" "∧77)∨200
00600 (" "∧77)∨100 ↔ " "∧77 ↔ (" "∧77)∨300
00700 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00800 0 ↔ 0 ↔ 0 ↔ 0
00900
01000 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01100 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01200 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01300 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "1"∧77
01400 0 ↔ 0 ↔ 0 ↔ 0
01500
01600 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01700 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01800 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01900 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "2"∧77
02000 0 ↔ 0 ↔ 0 ↔ 0
02100
02200 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02300 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
02400 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
02500 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "3"∧77
02600 0 ↔ 0 ↔ 0 ↔ 0
02700
02800 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02900 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03000 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03100 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "4"∧77
03200 0 ↔ 0 ↔ 0 ↔ 0
03300
03400 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
03500 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03600 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03700 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "5"∧77
03800 0 ↔ 0 ↔ 0 ↔ 0
03900
04000 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04100 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04200 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04300 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "6"∧77
04400 0 ↔ 0 ↔ 0 ↔ 0
04500
04600 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04700 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04800 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04900 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "7"∧77
05000 0 ↔ 0 ↔ 0 ↔ 0
00100 ("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00200 " "∧77 ↔ ("C"∧77)∨300 ↔ ("L"∧77)∨200
00300 ("O"∧77)∨100 ↔ "S"∧77 ↔ ("E"∧77)∨300
00400 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00500 0 ↔ 0 ↔ 0 ↔ 0
00600
00700 ("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00800 " "∧77 ↔ ("F"∧77)∨300 ↔ ("A"∧77)∨200
00900 ("R"∧77)∨100 ↔ " "∧77 ↔ (" "∧77)∨300
01000 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01100 0 ↔ 0 ↔ 0 ↔ 0
01200
01300 ("T"∧77)∨300 ↔ ("E"∧77)∨200 ↔ ("A"∧77)∨100
01400 "C"∧77 ↔ ("H"∧77)∨300 ↔ (" "∧77)∨200
01500 ("M"∧77)∨100 ↔ "O"∧77 ↔ ("D"∧77)∨300
01600 ("E"∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01700 0 ↔ 0 ↔ 0 ↔ 0
01800
01900 ("M"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("N"∧77)∨100
02000 "U"∧77 ↔ ("A"∧77)∨300 ↔ ("L"∧77)∨200
02100 (" "∧77)∨100 ↔ "M"∧77 ↔ ("O"∧77)∨300
02200 ("D"∧77)∨200 ↔ ("E"∧77)∨100 ↔ " "∧77
02300 0 ↔ 0 ↔ 0 ↔ 0
02400
02500 ("N"∧77)∨300 ↔ ("O"∧77)∨200 ↔ (" "∧77)∨100
02600 "H"∧77 ↔ ("I"∧77)∨300 ↔ ("G"∧77)∨200
02700 ("H"∧77)∨100 ↔ " "∧77 ↔ ("P"∧77)∨300
02800 ("W"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
02900 0 ↔ 0 ↔ 0 ↔ 0
03000
03100 ("P"∧77)∨300 ↔ ("R"∧77)∨200 ↔ ("O"∧77)∨100
03200 "G"∧77 ↔ (" "∧77)∨300 ↔ ("R"∧77)∨200
03300 ("U"∧77)∨100 ↔ "N"∧77 ↔ ("N"∧77)∨300
03400 ("I"∧77)∨200 ↔ ("N"∧77)∨100 ↔ "G"∧77
03500 0 ↔ 0 ↔ 0 ↔ 0
03600
03700 ("R"∧77)∨300 ↔ ("U"∧77)∨200 ↔ ("N"∧77)∨100
03800 " "∧77 ↔ ("H"∧77)∨300 ↔ ("O"∧77)∨200
03900 ("L"∧77)∨100 ↔ "D"∧77 ↔ (" "∧77)∨300
04000 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
04100 0 ↔ 0 ↔ 0 ↔ 0
04200
04300 ("F"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("T"∧77)∨100
04400 "A"∧77 ↔ ("L"∧77)∨300 ↔ (" "∧77)∨200
04500 ("E"∧77)∨100 ↔ "R"∧77 ↔ ("R"∧77)∨300
04600 ("O"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
04700 0 ↔ 0 ↔ 0 ↔ 0
04800
04900 LOC 2272
05000 0 ;This is for a block of zeros
05100 END